As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option is an information handling system (IHS). An IHS generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes. Because technology and information handling needs and requirements may vary between different applications, IHSs may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in IHSs allow for IHSs to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, global communications, etc. In addition, IHSs may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
In some implementations, an IHS may include an electronic component known as a Basic Input/Output System (BIOS). When the IHS is powered on (or reset), a process referred to as “bootstrapping,” “booting up,” or simply “boot,” takes place. During that process, the IHS' BIOS' firmware interface is used to initialize and test other hardware components and/or to load an Operating System (OS) or other programs from a memory.
During bootstrapping, the IHS' Central Processing Unit (CPU)—or, in a multi-processor or multi-core system, a selected one of the available CPUs—acts as a bootstrap processor that runs the BIOS' initialization code. When the CPU starts executing the BIOS' code, it initializes some of the hardware in the machine. Once initialized, the BIOS begins a Power-on Self-Test (POST) procedure, which tests numerous electronic components of the IHS.
Some BIOSs are compliant with the Unified Extensible Firmware Interface (UEFI) specification. In general terms, the UEFI specification is managed by a forum that defines a software interface between an operating system and platform firmware. Recent versions of the UEFI specification include a protocol known as “Secure Boot,” which is designed to secure the boot process by preventing the loading of drivers or OS loaders that are not signed with a proper digital signature.